Skip to content

SyncLatestLifecycle class

Defined in

Namespace: ReactiveUI.Primitives.Async.Advanced Assembly: ReactiveUI.Primitives.Async.Core.dll Full name: ReactiveUI.Primitives.Async.Advanced.SyncLatestLifecycle<T> Modifiers: public sealed

Summary

View source

Shared subscription lifecycle for the arity-specific CombineLatestN operators (2..16) and the enumerable variant. Each per-arity SyncLatestCoordinator composes one instance of this class (has-a, not is-a) and forwards lifecycle / error / gating work into it, so the previously-duplicated infrastructure (gate, dispose CTS, external-link registration, observer fan-out, completion-bitmask handling) lives in one place.

Applies to

net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net462, net481

Class hierarchy
classDiagram
class SyncLatestLifecycle~T~
class IAsyncDisposable {
    <>
}
IAsyncDisposable <|.. SyncLatestLifecycle~T~

Implements: IAsyncDisposable

Constructors

NameSummary
.ctorInitializes a new instance of the [SyncLatestLifecycle](# class.

Properties

NameSummary
DisposeTokenGets the cached cancellation token that fires on subscription disposal.
SubscriptionsGets the per-source subscription slots (indexed 0..N-1).
HasDisposedGets a value indicating whether disposal has been signalled.

Methods

NameSummary
LinkExternalCancellationLinks the original subscribe-time cancellation token into this subscription's dispose chain so per-emission methods can use...
OnErrorResumeAsyncForwards an upstream error to the downstream observer under the gate, respecting disposal.
EmitDownstreamAsyncEmits a projected value to the downstream observer under the gate, respecting disposal.
OnSourceCompletedAsyncRecords completion of a single source. If the source failed, completes the combined sequence with the failure; otherwise sets the matching doneBit and, once every source bit is set, completes...
DisposeAsyncDisposes the lifecycle without signalling a terminal notification.
FinishAsyncCompletes the combined sequence and disposes every source subscription.
Inherited members